Top 10k strings from Supercode 3 v3.5 (1985)(CP Software)(Side B).tzx
in <root> / bin / z80 / software / Sinclair Spectrum Collection TOSEC.exe / Sinclair ZX Spectrum - Utilities & Educational / Sinclair ZX Spectrum - Utilities & Educational - [TZX] (TOSEC-v2007-01-01) /
Back to the directory listing
6 "23658",O: 6 "1";"SC3.5-2" 5 "23659",F: 4 RIGHT-SCROLL 4 NEXT DATASECTOR 4 NEXT DATARECORD 4 NET CHANNEL 4 LEFT-SCROLL 4 DOWN-SCROLL 4 BCCCCCCCCCCCCCCCCCCF 4 *"m";NN;C$( 4 "23659",D: 4 Loading Time: 4 DATA FILE 2 to be replaced. 2 s of the 2 out these Instructions. 2 of filename with trailing 2 mode engaged"''"Release S key": 2 it back with 2 ed/reset Spectrum. (6)Press 2 d, it must be relocated by the samenumber of bytes."'"(2)It is possible to relocate # 22,23,71&76 too,but only to add-resses which are multiples of 256 away from the original add-resses.Proceed as follows: Get the page of the routine,& press Q to quit.The original address is A - say you want to relocate it to A+256*ZZ,where ZZ is a +/-integer."; 2 areutilised.)": 2 a RAMTOP belowZ & 2 \##N#F#"]\" 2 [}\r#s#N#F# 2 ZX INTERFACE 1 ATTACHED 2 Z2=235 2 Z2=231Enter:- 9990 2 Z2=229 2 Z if from Microdrive).If anaddress >23812 is to be 2 Written by F.A.VACHHA BSc 2 UPPER-CS PROGRAM 2 UNI-NOTE SOUND-GEN 2 UMP PAGE#/ 2 UIT AND EXAMINE LINE 1210 2 The save is OK. Press any key.": 2 TRACE VARI-SPEED 2 TOP/MID RIGHT-SCR 2 TOP/MID LEFT-SCR 2 TOP RIGHT-SCROLL 2 TOP LEFT-SCROLL 2 TO SEE HOW THIS WAS DONE,"; 2 THERE HAS BEEN A RECORDING ERROR 2 TAPE HEADER READER 2 Start address: 2 SUPERCODE TOOLKIT 2 SUPERCATALOGUE ****** 2 SUPER-RENUMBER 2 SUPER-CATALOGUE 2 STAR/RING DRAW 2 SHUTTER RIGHT-SCROLL 2 SHUTTER LEFT-SCROLL 2 SEND RS232 BYTE 2 SEND #NET PACKET 2 SELECT DRIVE 2 SC3.5-3 2 SC3.5-2 2 SC3.5-1 2 SAVE*""m"";1; 2 S U P E R C O D E 3.5 2 Routine Starts at ";A 2 Routine Ends at ";A+B-E; 2 Recording OK 2 ROUTINE NO: 2 ROUTINE IN ROM 2 ROUTINE #";N;" 2 RIPPLE RIGHT-SCROLL 2 RIPPLE LEFT-SCROLL 2 REPLAY SOUND 2 RELOCATING SUPERCODE3.5 ROUTINES 2 REFLECT Y-AXIS 2 REFLECT X-AXIS 2 RECORD SOUND 2 RECEIVE RS232 BYTE 2 REACTION TIME 2 RAM SIZE: 48K"''"PROGRAM LOADED FROM CASSETTE 2 R"E\*S\###" 2 Press ENTER to Expand the Whole Program 2 PROTECT PROGRAM 2 PROGRAM LENGTH 2 PRINTER OUTPUT 2 PIXEL UP-SCROLL 2 PIXEL RIGHT-SCROLL 2 PIXEL LEFT-SCROLL 2 PIXEL DOWN-SCROLL 2 PIXEL BOXRGHT SCROLL 2 PIXEL BOXLEFT SCROLL 2 PART 2 from tape.When you come to this page, press 2 PAINT-FILL 2 OBLIQUE SCROLL-OFF 2 No. STATEMENTS : 2 No. OF EXTRA BYTES::}\_:~\W: 2 No. LINES : 2 No. Bytes: 2 NON-RELOCATABLE ... use L 2 NON-DELETABLE 2 NO: ROUTINE 2 NNNNNNNNNN 2 MONOCHROME PROGRAM 2 MID/LOW RIGHT-SCR 2 MID/LOW LEFT-SCR 2 MID RIGHT-SCROLL 2 MID LEFT-SCROLL 2 MICRODRIVE VERSION by F Vachha 2 MICRODRIVE 2 MEMORY AVAILABLE 2 MDRVE FILE 2 MDRVE DIAGNOSIS 2 Length of Program Only:! 2 LOWER-CS PROGRAM 2 LOWER UP-SCROLL 2 LOW RIGHT-SCROLL 2 LOW LEFT-SCROLL 2 LINE NO:NOW RENUMBER PROGRAM 2 KILL CONDENSER 2 J,H;"Routine Length is ";B;" bytes 2 If this is OK, press enter.If itis not, enter the new name (notethat only the first ten 2 INSTRUCTIONS ON THE TRANSFER OFSUPERCODE 3.5 TO A ZX-MICRODRIVE 2 INITIALISE 2 INDEX PAGE ";( 2 IF1 INITIALISE 2 HEX->DEC CONVERTER 2 HEADERLESS FILES 2 GGGGGGGGGGGGGGGGGGGGGG 2 GGGGCCCCCCCCCCCCCCCCCCCGGGGG 2 GGGGBCCCCCCCCCCCCCCCCCCGGGGG 2 GET #NET PACKET 2 GCCCCCCCCCCCCCCCCCCG 2 Freddy A Vachha Vic B Rumsey 2 First Byte: 2 FROM LINE NO:TO LINE NO:AFTER LINE NO:NOW RENUMBER PROGRAM 2 FREE-SCROLLER 2 FOREIGN ACCENTS 2 FFFFFFFFFFFFFFF 2 Enter Routine No: 2 Enter Index Page No: 2 EXPAND PROGRAM 2 ERROR CODE: ";N$: 2 ENLARGE REM 2 EEEEEEEEEEEEEEEE 2 EEEEEEEEEEE 2 DUAL-NOTE SOUND-GEN 2 DISABLE BREAK 2 DESELECT DRIVE 2 DEC->HEX CONVERTER 2 D,D;A$;A$;A$;A$: 2 Copying copies is FORBIDDEN 2 CREATE CHANNEL 2 CONTRACT PROGRAM 2 COMPRESS NUMBERS 2 CHR$ SCRAMBLE 2 CCCCCCCCCCCCCCCCCCG 2 BLOCK MEMORY INSERT 2 BLOCK COPY 2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 2 BBBBBBBBBBBBBBBBBBBBBBBBBBBBB 2 Auto-start Line No: 2 Array Name: 2 Adapted from Original Supercode___by F.A.Vachha & V.B.Rumsey___ 2 AWAIT KEYPRESS 2 APPEND STATEMENT 2 ANY OTHER KEY 2 ANALYSE PROGRAM 2 ANALYSE MEMORY 2 ADAPT PROGRAM 2 A/C/D/E/I/J/L/M/N/P/Q/R/S/T 2 A$;A$;A$;A$: 2 :::::::::::::::: 2 9990, & proceedto 2 24,(``AAAAAAAAAAAAAAAAAAAAAAAAB24,(```AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD{ 2 24,(`AAAAAAAAAAAAAAAAAAAAAAAAA 2 23635+256* 2 2 BYTE CONVERTER 2 1984 SUPERSOFT SYSTEMS 2 120"'"Then enter 2 10(No Error Trap)"'"Turn Page: Use ENTER or Jump"'"Menu:";: 2 0 (Error Trap)"'" 2 .Keeping the 2 .(5)You now have a verified copy of SUPERCODE on microcartridge -it will autostart if you enter 2 +-*]\"[\*Q\ 2 ++F+N+++"]\*S\~ 2 ++F+N+++"]\ 2 *]\###q#p##"]\ 2 *S\##"]\^#V 2 *"m";E;"SC3.5-3" 2 *""m"";n;Name$ 2 )to Tape/Microdrive, 2 ). To access a routine whose no: is known, press 2 ). For ways to relocate routines, press 2 ) to restart. To get this routine's details another time, press 2 (with Z=A+256*ZZ)as in case(1) overleaf.Note thatthe routine will no longer workat its old address."'"(3)The ROM routines,#120 & #125 are very difficult to relocate (why ever relocate a ROM routine?!) while #77/78 have to be located at the very top of RAM.": 2 (Index). Use ENTER to turn pages To access the next routine in the Index, press 2 (1)Using PAUSE"'"(2)W/out PAUSE 2 (1)Reset the Spectrum.Put a new cartridge in Microdrive#1"'"(2)Enter 2 (*)/ INDEX/ CUSTOMISE"'"Restart: 2 '"This routine will be saved with the provisional name 2 '"If an error message appears, useGOTO 0 to restart."'"Enter the Microdrive number, or just press Enter for the default# of 1.": 2 #T]##N#F#~ 2 # GENERATOR 2 "To store this routine on a Microdrive cartridge,press 2 "The SAVE is over."'"Proceeding with VERIFY.": 2 "Please replay the tape.": 2 "OK,the name is 2 "OK,the Microdrive # is 2 "Further Reading: Programming the Z80 (R.Zaks,ISBN 0-89588-094-6) Complete SpectrumROMDisassembly (I.Logan&F.O'Hara,ISBN 0-86759- 117-X)": 2 "9",H;"To call this routine, use"; 2 "64884",M: 2 "60879",D: 2 "60878",J: 2 "60020",F: 2 "51225"+N*K: 2 "2590"*(N$="L") 2 "234"-Z,D: 2 "20"*(NMAX=F) 2 "2.3025"): 2 "16"-G*(N<P);","; 2 "1";"run": 2 "1";"SUPERCODE3": 2 "1";"SC3.5-4.1" 2 "1";"SC3.5-3" 2 "''"Define Z1,Z2:-"'"For 2 "''"(1)To move a Relocatable Routineso that it starts at address Z,first 2 "'"Position: 55000-65535"'"Ramtop: 51000"'"Help Prog: 2 "'"Number of Routines: 2 "#";N;": "; 2 " To store this routine on tape, press 2 " To follow '2 byte eq',see #101." 2 " This routine 2 " For transfer of 2 to a ZX-Microdrive, press 2 is now called 2 SAVE""Name""CODE ";A;",";B 2 ROUTINE # 65 HAS PREVENTED YOU FROM BREAKING INTO THIS PROGRAM 2 F.A.VACHHA BSc 1984 2 DATA SECTOR 2 DATA RECORD 2 -rewind & replay PART 1 from the start.When you come to this page,press 2 (Tape)."'"Note address,length,customising POKEs(if any)etc for future ref:": 2 (Repeat)."'" For a demo, press 2 (Quit). Use 2 (Number).": 2 (MDrve)." 2 (Demo)."'" To return to the Index, press 2 ( Location Change ). For BASIC, press 2 (76+76)Call: 2 key pressed,play PART 1."'"(3)After the reset enter 2 1 with this program 1 1 variables"'" (3) Numeric Arrays"'" (4) 1 value to be filled ( taking care of border effects),then call this routine" 1 value (56 initially)."'" 1 use #148." 1 to the bottom 2 1 to the lower X (0<X<25) 1 to be sent to Stream 3 attached to Channel P (ZX Printer)." 1 to be sent to Stream 2 attached to Channel S ( 1 to be located": 1 this routine before loading Incidentally, to check if your Spec is Issue3, 1 this rout -ine within(using 1 the following:-"'" 1 the 2- byte equivalent(see #101)of the address of the 1 that is to be transformed,into ";: 1 such lines." 1 statement at 1 start in mem." 1 sets like the SCIFI in #79). 1 scrolls when re 1 s. Also see #82,#90,#100,#103h" 1 s,by combining 1 s will not work if 1 s which are stored in RAM(ie,UDGs or alternative 1 s when logically possible.Also see #64 #90,#100,#103h." 1 s to 23813, not 23755 1 s the no: of 1 s the length of the BASIC program. Memory used by variables is ignored. Also see #103,#111."'" Incidentally,to distinguish 16K from 48K Spectrums, 1 s the address of the first 1 s RAMTOP to its original value, zeroes the entire memory & resets System Variables,UDGs & stack." 1 s 22/23. (k=0 for 22,k=1 for 23)" 1 s & statements in a prog. Restart SUPERCODE with 1 s before EVERY call 1 routine,& let x=no: after LD,de.Use #115 with a higher start address & x =no: of bytes.The file should 1 quotes to save space.Also see #64,#82 & #100." 1 prog autostart, enter 1 1 part2 of your program with the header of another prog, by manipulating Record/Pause keys on taperec.Call this routine in part1,& immediately after,call routine115.Part2 will now auto- 1 p,q if bytes) Use the same 1 on variables, instead use 1 on all 24 lines of the 1 of the same 1 of bottom two 1 of BASIC containing a prespecified sequence of 1 of a given 1 n to prevent the scroll? prompt from corrupting the 1 it to a different address, >23900 so it does not overlap with the System variables."'" (c)To 1 is to be execu- ted.Enter 1 is stored at X, enter 1 is renumbered(except for arguments like 2.8 or N+3,which are high- lighted.If arg 1 is away of stopping most autostart programs. However programs>7K inlength can be made 1 is possible:use 1 into 23681." 1 instruction. After, 1 instead of 1 ing the two parts." 1 in non-deletab-le lines:the listing vanishes 5)Autostart by using 1 in a BASIC program by another 1 from X to X+6911, 1 from Part1,but anyone who attempts to 1 for another 1 etc. Then 1 ed,use routine119 before each 1 ed,the BASIC will autorun,& will start the 1 ed into a Spec with shadow ROM paged in,as the prog 1 ed came from tape/Mdrve, 1 each part immediately before saving the next one:this ensures that there will be no delay between 1 d into 62866 & 62867 respectively. The 4 columns are addr,contents in dec+hex & 1 d into 57124/5);if not,you will 1 created with routine #147. If such a 1 commands with 1 co-ordinates of the";'" top left hand corner of the box 1 co- ordinates of the top-left hand corner of the box." 1 at any position on the screen: ie, to find the 1 at ANY position X,Y on the 1 as well as resets 1 are set up as UDGs. To return to usual UDGs, 1 any point inside it. 1 address from which 1 able). Use N to exit. 1 a higher RAMTOP first." 1 a headerless file, disassemble its 1 a compressed 1 ZX SPECTRUM MACHINE CODE TOOLKIT 1 ZX SPECTRUM MACHINE CODE TOOLKIT 1 ZX INTERFACE1 MUST BE ATTACHED 1 Z=A+G-F*(N= 1 Z;" /"'" ";Z+1 1 Z/50 gives the time taken to hit the last key,in seconds." 1 Z$:to work 1 X.For the error 1 X-3,0 The program will work provided you do not 1 X+25, Drive number 1 X+25, Drive Number 1 X+16, Number of bytes to be sent. If 1 X+14 to X+23, 1 X+13, Relative Record No:" 1 X+11/+12, next data byte 1 X+1,0. To do this to other lines, first find their address X using routine 88, then 1 X and then call this routine." 1 X & then call this routine( 1 Vic B Rumsey 1 This is Line #";Z 1 Supersoft Systems/CP Software 1 Supercode 3.5 - Side B 1 Start Addr 2 1 Space (1-255)" 1 SC3.5-4.2 1 SC3.5-4.1 aE 1 S with Interval I 1 Q,E;"To store a compressed 1 Q,E;"This routine 1 Q,E;"Programs with m/c in 1 Q,E;"Call this routine at the start of your program. 1 Q,D;" This (also with 1248/1276/1301 /1488) displays a 1 Q,D;" The Spectrum doesn't check if there is enough space free in its memory before 1 Q 2 1 Programming 1 Part2 by other means will crash the computer." 1 PRESS ANY KEY. THEN ENTER RUN 1 PART TWO - ROUTINES 77-152 1 PART ONE - ROUTINES 1-76 1 P,D;" To break into autostart progs, (a)Instead of 1 P,D;" (a)To check whether a ZX Inter- face1 is connected,see whether or not an error is produced if an instruction like 1 Original Release 1 ON /OFF checkerboard on the 1 O,E;"In order to make the FIRST line of your program non- deletable 1 NO MORE OCCURRENCES 1 MEMORY AVAILABLEN 1 M,E;"To make a 1 J;"----> "; 1 I;"Less Sig More Sig": 1 HIT A KEY AND LOAD PART TWO 1 H,D;" The ZX Microdrive spends most of its time trying to locate a file - actual loading is swift. 2 ways of saving files so that they can be accessed faster are (a) 1 G,D;"1)Make line1 1 1 Freddy A Vaccha 1 For Steve Brown 1 Channel Addr+13,Sector no:" 1 Arrays"'" (5) FOR..NEXT control variables"'" Also see #70."; 1 >1 copies of the file on the same cartridge:for x copies,do 1 =>Hex(0-FFFF) Enter the no: to be converted. Routine autorepeats-'Q' quits,& 1 ;"auto-";: 1 ;"SC3.5-4.2" 1 ;"SC3.5-4.1" 1 :these can be 1 :if not,only 1 of the copies might be erased."'" (b)When saving different parts of the program, 1 :Swop sets all squares with the item On,to Off, & all with the item Off,to On." 1 :On/Off toggle the given Colour item"'" 1 : then call this routine. You will be in EDIT mode, but with the cursor at the END of the 1 7,13, enter PRINT 1 65360/1 with the 2 byte eq of the start addr of routine #63(Hex->Dec),which must also be 1 65290. All the memory from 32768 to 65535 is used.To replay,use #78." 1 64834, Box Width"'" 1 64832/5 with 1 64831, Box height"'" 1 64714/5, 2 byte eq of S Also see #60." 1 64711/2, 2 byte eq of I 1 64702, Frequency 2" 1 64693, Frequency 1"'" 1 64682, Duration"'" 1 64670, 28(UP) or 29(DOWN)" 1 64651, Duration"'" 1 64649, Span"'" 1 64648, Frequency"'" 1 63980/1, 2 byte eq of Start Address ) with the display 1 63951, Duration" 1 63905, New 1 63903, Old 1 63801, No: to be inserted" 1 63798/9, Start Address (2 byte eq)"'" 1 63796, No: of bytes"'" 1 63713/14 with the address of the new 1 63652/53 with the 2-byte equiv.(see #101)of the address of the 1 63648, no: of 1 63502,No: of 1 63499/500,2 byte equiv. (see#101)of 1 63017/8, Time(ms) "" """ 1 63014/5, Pitch( 2 byte eq) 1 63012, Number of notes 1 63011, Pitch Decrement 1 63004/5, Time(ms) "" """ 1 63001/2, Pitch( 2 byte eq) 1 60039.Z contains the required 1 60020, Colours (0-7) 1 60006, Duration (1-127) 1 58690/1,Addr to 1 58687/8,No: bytes to 1 58684/5,Addr to 1 58682,Box Length in 1 58681,Box Width in pixels 1 58680,64(Up)72(Mid)80(Low) 1 58679,Top Left Square 1 57342. 191=>Yes; 255=>No.To make Iss X progs work on Iss Y,precede all 1 57342,191( ifX=1/2,Y=3)or 255(ifX=3,Y=1/2)" 1 57123,195 IF you wish to execute m/c(from address 1 57114/5, Addr of 1st byte 1 57110/1, Number of bytes 1 57091,X"'" Also see Routine #119" 1 56777,Speed(from 1=Fast to 255=Slow):if too fast you might be unable to read it. Call the routine either before running program(ignoring the initial display)or during the program.TRACE remains ON until you enter 1 56072+256* 1 55644, Byte(followed by 2 stop bits) to be sent." 1 55628, No: (1-8) of drive to be switched on." 1 55478,Z with Y=254:Z=71 for top 1/3, Y=252: Z=79 for top 2/3 & Y=0:Z=91 for the attributes as well. To 1 55477,Y: 1 55371/2, 2 byte equivalent of X+15. 1 55368/9 with the 2 byte equivalent of X, where X is the address of the Net Channel. 1 55361/2, 2 byte equivalent of X, where X is the address of the Net Channel. Incidentally, 1 55354/5 with the 2 byte equivalent of X, where X is the address of the Net Channel. If 1 3756 does a 1 32s.Also see #71" 1 3,""s"" at the start"'" (2)To 1 23788.If = Program length found with #104 then it came from a MicroDrive" 1 23787+256* 1 23772/3,Address of name": 1 23770, Length of Filename 1 23766,Other Station Number Afterwards, 1 23766, Drive No: (1-8) 1 23758=0 the packet is a broadcast." 1 23749, Your Station Number 1 23730-5 in the autostart 1 23729 gives its length).Alternatively,first do 1 23728/9, 2 byte eq: of X 1 23728+256* 1 23693,X sets the global 1 23692,255 within the loop that generates the lines." 1 23676,255."; 1 23676, 223 1 23671 gives the address of the Channel area." 1 23670+256* 1 23670 & 23671 give the less sig: & more sig: bytes respectively." 1 23659,2. Use 1 23659,0 before each 1 23659,0 at prog start - the effect is that of no:5)." 1 23636.If=23755,it hasn't been paged in so far."'" (c)To check if the program just 1 23636,92.3)Use #59,#98,call #65/66 to disable BREAKs & #68 for nondeleta- ble 1 23636,150. To return to normal 1 23636),100. You can RUN but not LIST prog until you 1 23635+256 * 1 23613 -2 9999 1 23610,255: 1 23609,9. The improvement is great with long 1 23607, 60."; 1 23607, 223 1 23606/7 WITH THE LESS/MORE SIGNIFICANT BYTES OF THE START ADDRESS LESS 256(THIS IS CURRENTLY 0/223). TO RETURN TO THE USUAL 1 23582,27.Now 1 23574+2*N,19+2*N" 1 23562,2"'" 1 23552,RAMTOP-23550-F to save your program disguised as bytes- it will autostart at the first line."'" Also see #104."; 1 23550,Address of LAST byte of 1 22/23"''" Alternatively,use 1 0)."''" Note that if X= 1 0 restarts" 1 0 reaccesses the toolkit.": 1 .If the lower part of 1 ."'" To speed up cursor response,use 1 . Incidentally,if a ZX-Interface1 is attached,enter 1 1 -proof by making the first line a 1 - 23549. When the 1 ,use routine 87 to find its 1 ,to the given address,a headerless file" 1 ,this routine merges a 1 ,say X, to a new 1 ,as does the command 1 ,L:BREAK are ignored." 1 , on an empty Spectrum,to 1 , which saves space but reduces speed. 0 is replaced by NOT PI. Also see #64,#82,#90,#103,#104. To save even more space,replace all commonly occurring numbers (ie 0,1,2,10 etc)by variables, defined at the start. Routine #72 is useful for locating no:s" 1 *ing:if a program is long/RAMTOP is low it could crash when you try to 1 *ing long programs.If any message besides 0 OK appears,shorten the prog: or 1 *"m";E;"SC3.5-4.2": 1 *"m";E;"SC3.5-4.2" 1 *"m";E;"SC3.5-4.1": 1 *"m";E;"SC3.5-4.1" 1 * it.That would lose the whole program.Instead,call this routine before 1 * ""m"";n;Name$( 1 ),No:s/Var (2.3,Z,A$),operations(*),rel(<) etc,or combinations of these. 1 ), or just after,part1,and call it from there.It will 1 (x+14) gives the block no: of the packet requested: it is auto-incremented after each receive." 1 (same number),0.2) 1 (X+16)>0 then there still is data in the Net Channel: this is sent before the area is deallocated." 1 (X+13)+256* 1 (63768,63771) 1 (63762) 1 (63744) 1 (63738) 1 (63732) 1 (""SUPERCODE"", or ERCO),commands( 1 (" 0:OK,8:END,9:STOP are ignored. Or,errors can be suppressed w/o #65:use 1 1 &TZXed by Andrew Barker 1 & statement no: currently being executed. 1 #4; is executed(use with r.no:65) This pages in the shadow ROM, if present."'" (b)To check if the shadowROM is paged in, 1 #4 will call the m/c" 1 # command does 1 "Press any key": 1 "Press any key again": 1 "If this routine is run on a justreset Spectrum, use #135 first." 1 "F R ` F R `"'': 1 "Delay=";Z/50 1 "And now at slow speed": 1 ";A+P;", Box Width"'" 1 ";A+M;", Box Height" 1 ";A+G;" with"'" 1 ";A+F;"/";A+G;" with the 2": 1 ";A+E;", Overall Colour" 1 ";A+E;", New Attribute Val"'" 1 ";A+E;" /"'" ";A+F;", 2 byte equivalent of X."'" 1 ";("60878/9" 1 "9",D;"Call the 1 "9",D;" If the 2 byte equivalent of X = L(Less)/M(More) sig: bytes,then L+256*M=X.The less significant byte comes 1st. This routine is an instant converter of numbers from 0-65535 to their 2 byte equivalents.To convert X to its 2 byte equiv.,enter 1 "66")'" with X. If an error occurs,prog control will move to 1 "65")+("60952/3" 1 "65")+(" Errors besides D:BREAK,H: 1 "60029",Z: 1 "60029",I: 1 "60006",I: 1 "56777",E: 1 "56"*(N<P)'" SCROLL-OFF: 1 "54"+(N<P): 1 "4)Embed hidden colour CHR$ to set 1 "36"+A;", 26"'" SCROLL-OFF: 1 "36"+A;", 0" 1 "23681"-E)/ 1 "23670"),: 1 "23659",F*(N= 1 "23606",D: 1 "23295"+Z, 1 "20",E;"Also see Routines #22-23." 1 "19",E;"8 calls" 1 "18",D;" WRAP-AROUND: 1 "16";"Right" 1 "15",E;"To scroll attributes as well, refer to routines 37-40(define suitable box & Attr value).Call the attribute scroll once per 1 call of this routine.": 1 "13";", 0"; 1 "111"),D;" 1 "109"),H;" 1 "'''"Where any part of SUPERCODE 3.5 is used in commercial programs, you MUST give prominent credit to this fact, in all packaging &advertising.Also,you must refer within the program to the joint authors of SUPERCODE II,F.VachhaBSc & V.B.Rumsey."'"Provided these conditions are obeyed ,no other restriction on use of SUPERCODE 3.5 is imposed." : 1 "'''"Where any part of SUPERCODE 3.5 is used in commercial programs, you MUST give prominent credit to this fact, in all packaging &advertising.Also,you must refer within the program to the joint authors of SUPERCODE 3.5, F.A. Vachha & V.B.Rumsey."'"Provided these conditions are obeyed ,no other restriction on use of SUPERCODE 3.5 is imposed." : 1 ""Enter Microdrive "";A: 1 """""'" Incidentally,to 1 " byte equivalent of X, where X is the address of the Channel.": 1 " X+13 contains the Record number which is not incremented.": 1 " WRAP-AROUND: 1 " To renumber without 1 " To renumber lines starting with S using interval I, 1 " To help with 1 " To delete all lines from X to Y 1 " This routine zeroes all numeric variables/arrays,sets all 1 " This routine will retrieve any compressed 1 " This routine waits till a key (whose CODE will be put in L)is pressed."; 1 " This routine waits for a key to be pressed,then puts its ASCII 1 " This routine undoes the effect of #98, to allow lines of a CONFUSEd program to be EDITed/ altered." 1 " This routine swops all 1 " This routine switches off all drives." 1 " This routine simulates a power- off: ie, it not only does 1 " This routine shortens+speeds up programs by deleting all 1 " This routine scrolls up the lower X (0<X<25) 1 " This routine replays what #77 recorded. It is probably best to use your cassette-recorder (MIC socket) to amplify the sound." 1 " This routine replaces numbers in the program by VAL 1 " This routine replaces each occ- urrence of a specified 1 " This routine prints out a full analysis of memory contents, starting at the address whose less & more significant bytes (see #101)have been 1 " This routine places the byte received in location 23681. If timed-out,0 is inserted." 1 " This routine places a random # pair in the System Variable SEED ( PEEK 23670 & 23671 )." ; 1 " This routine pages in the extra 58 Interface1 System Variables if they have not yet been created." 1 " This routine operates on 1 " This routine merges a 1 " This routine loads information stored in memory into an auto- created 1 " This routine lists each 1 " This routine lists all"'" (1) Numeric variables"'" (2) 1 " This routine inserts a given number into a block of memory. 1 " This routine expands programs so that there is exactly one statement per line (except in IF..THEN lines).In reply to the prompt, enter the no: of the line you want expanded, or just ENTER if you want the entire program expanded. You must use #60 after calling this routine." 1 " This routine enables you to determine the 1 " This routine does 1 " This routine deletes all hidden colour 1 " This routine decodes tapeheader information & prints out a full analysis (name, address, type, length & auto-start details." 1 " This routine allows hex 1 " This routine allows a block of lines to be relocated within a BASIC program.In order to shift lines 4200 till 6745 so they appear after2200 in the listing respond 4200,6745 & 2200 to the auto-prompts.The new lines will all have number 0.Now call #60 to renumber & #57 to delete the old lines. Fully errorproofed." 1 " This does 1 " The routine speeds up+contracts programs into the minimum no:of 1 " The routine deallocates channel area." 1 " The routine changes all squares with a given 1 " The routine 1 " The free space F from the last Variable to RAMTOP is printed. Use 1 " THIS IS AN EXAMPLE OF THE SCIFI 1 " Routines 94 to 97 change the case (upper/lower)of strings or of the entire listing ( except strings),as specified.Note that an effective way of switching case from within programs is to POKE 23658,0 (LO) or 8(HI)." 1 " Routines # 18-21 & 47 are all special-effect scrolls." 1 " Only the last 4 hex digits are converted.Incidentally,ZX BASIC does not allow 1 " Move the cursor to the required 1 " In order to scroll a table of data > 22 lines long without stopping, use the command 1 " If the file had been opened for writing, the current record is written to the first available microdrive sector before the file is closed." 1 " INVERSE SCR: 1 " Having connected the EAR socket of the cassette-recorder to the Spectrum,start playing the tape (Voice is best;Vol=Max),& 1 " Format is Name,Type(B=Bytes,P= Prog),Length,Start Addr:(if B) or Auto Line(if P)(65535=>none)";: 1 " Follow the prompts to expand a REM statement (to accommodate code) anywhere in the program, by up to 9999 bytes" 1 " First switch motor on with #131" 1 " Error#6 if no: was out of range" 1 " Draw multipointed-stars & rings by first plotting a point near the middle of the screen & then using DRAW X,Y,N where X & Y have magnitudes from 10 to 60 & N lies between 1000 & 9999. Do experiment - try 189* 1 " Draw any closed convex figure & 1 " Decimal(0-65535) 1 " Corrupts the listing without affecting program execution: attempting to EDIT/alter lines could be fatal (thus useful for program protection, as are #68/ #80)." 1 " By POKEing 23606 & 23607 with different numbers, a corrupted character set is obtained. To normalise, POKE 23606,0 : POKE 23607,60. Protect your program with this, temporarily normal- ising before each PRINTing." 1 " Before calling this routine, 1 " Also see Routine #122" 1 " A set of accented 1 values are not changed.Refer to #25-27 for 1 to """" & all dimensioned 1 swops the current screen & the STOREd one A screen has 6912 bytes (24*32* 8, + 24*32 Attributes) & should be stored above RAMTOP (CLEARed downwards for room).For 1 saves a screen, 1 recalls it. 1 might not close every stream: use this instead."''" Incidentally 1)To disable 1 messages." 1 message,then entering 1 channel N (3<N<16) use 1 OVERPRINT 1 ERR+1,0'.Any BREAK/ error will now cause a crash. 6) 1 59580 ,I: POKE 59582/3,2 byte eq:of S Each 1 59293 with the 1 23733. Now 127=>16K, 255=>48K."; 1 23729 gives the address of the Net Channel." 1 23692,x where x is the no: of lines to be scrolled. To scroll 'forever' use 1 1.The 2 byte equivalents(see # 101)of the starting address of the memory & the no: of bytes must be stored in 63209/10 and 63206/07 respectively." 1 the cursor is pointing to."; 1 stored in RAM ( 1 no:,the next valid 1 k,0; to 1 into RAM.POKE 23563/4 with the 2 byte eq: of the first address to be changed 1 but also 1 at X,enter 1 X,Y;""Optional Message"";Variable The method works with 1 23728+256* 1 arrays to 1 BASIC programs."'" (b)To